Computers and computer software make up a very important part of modern life and business. In today's business environment, for any organization to stay competitive, it is imperative that it uses computers and software applications to manage data, customers, employees, finances, etc. Business processes and workflows are typically managed using multiple forms of communications and organization. One method used by business organizations to exchange data with their partners, customers, etc., is by use of websites to publish relevant information. Web sites and other types of interactive systems commonly host electronic catalogs for assisting users in locating and evaluating various types of items. The items may, for example, include physical products, journal articles, movie and music titles, downloadable software, services, stock assets, businesses, and/or any other type of item that may be represented in a database. Electronic catalog systems also commonly support the ability for users to conduct various types of item-related transactions, such as purchasing an item, downloading an item, or selling an item.
However, current business systems do not have an easy way to update data and share data with users and other systems without implementing significant integration between various systems. Generally speaking, business data is typically stored securely behind a proprietary application interface or in a proprietary database. Access methods are available for application developers that allow them to build data-level integration and data-access applications. However, designing such data-level integration and data-access applications puts the burden on the end user to clearly specify which business data they need access to, how often they need it, and in what format. Given the information technology (IT) departments' development backlogs it is unlikely that an internal salesperson, let alone an external supplier, will ever see this data feed produced.
Typical solutions for implementing closer data integration include ad hoc query tools, ad hoc reporting tools, and direct database access. However, there are three important problems to keep in mind with respect to such ad hoc solutions. First, a typical user doesn't have the necessary skills to create these queries and reports. This problem puts us back in the IT pipeline. Second, a semi-skilled user has enough knowledge to be extremely dangerous to the application as a whole. There's usually nothing stopping the user from constructing such expensive queries that the application goes to its knees. And third, such ad hoc solutions only work for internal users. There's still no solution for external users to get secure access to the business data. Therefore, it is necessary to provide a simpler web service model that allows efficient sharing and updating of data between various business entities.